package com.lzm.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DoctorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DoctorExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andDoctor_idIsNull() {
            addCriterion("doctor_id is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_idIsNotNull() {
            addCriterion("doctor_id is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_idEqualTo(Integer value) {
            addCriterion("doctor_id =", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idNotEqualTo(Integer value) {
            addCriterion("doctor_id <>", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idGreaterThan(Integer value) {
            addCriterion("doctor_id >", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_id >=", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idLessThan(Integer value) {
            addCriterion("doctor_id <", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_id <=", value, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idIn(List<Integer> values) {
            addCriterion("doctor_id in", values, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idNotIn(List<Integer> values) {
            addCriterion("doctor_id not in", values, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idBetween(Integer value1, Integer value2) {
            addCriterion("doctor_id between", value1, value2, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_id not between", value1, value2, "doctor_id");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarIsNull() {
            addCriterion("doctor_idCar is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarIsNotNull() {
            addCriterion("doctor_idCar is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarEqualTo(String value) {
            addCriterion("doctor_idCar =", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarNotEqualTo(String value) {
            addCriterion("doctor_idCar <>", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarGreaterThan(String value) {
            addCriterion("doctor_idCar >", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_idCar >=", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarLessThan(String value) {
            addCriterion("doctor_idCar <", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarLessThanOrEqualTo(String value) {
            addCriterion("doctor_idCar <=", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarLike(String value) {
            addCriterion("doctor_idCar like", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarNotLike(String value) {
            addCriterion("doctor_idCar not like", value, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarIn(List<String> values) {
            addCriterion("doctor_idCar in", values, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarNotIn(List<String> values) {
            addCriterion("doctor_idCar not in", values, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarBetween(String value1, String value2) {
            addCriterion("doctor_idCar between", value1, value2, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_idCarNotBetween(String value1, String value2) {
            addCriterion("doctor_idCar not between", value1, value2, "doctor_idCar");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneIsNull() {
            addCriterion("doctor_phone is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneIsNotNull() {
            addCriterion("doctor_phone is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneEqualTo(Integer value) {
            addCriterion("doctor_phone =", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneNotEqualTo(Integer value) {
            addCriterion("doctor_phone <>", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneGreaterThan(Integer value) {
            addCriterion("doctor_phone >", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_phone >=", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneLessThan(Integer value) {
            addCriterion("doctor_phone <", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_phone <=", value, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneIn(List<Integer> values) {
            addCriterion("doctor_phone in", values, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneNotIn(List<Integer> values) {
            addCriterion("doctor_phone not in", values, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneBetween(Integer value1, Integer value2) {
            addCriterion("doctor_phone between", value1, value2, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_phoneNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_phone not between", value1, value2, "doctor_phone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneIsNull() {
            addCriterion("doctor_telPhone is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneIsNotNull() {
            addCriterion("doctor_telPhone is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneEqualTo(String value) {
            addCriterion("doctor_telPhone =", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneNotEqualTo(String value) {
            addCriterion("doctor_telPhone <>", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneGreaterThan(String value) {
            addCriterion("doctor_telPhone >", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_telPhone >=", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneLessThan(String value) {
            addCriterion("doctor_telPhone <", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneLessThanOrEqualTo(String value) {
            addCriterion("doctor_telPhone <=", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneLike(String value) {
            addCriterion("doctor_telPhone like", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneNotLike(String value) {
            addCriterion("doctor_telPhone not like", value, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneIn(List<String> values) {
            addCriterion("doctor_telPhone in", values, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneNotIn(List<String> values) {
            addCriterion("doctor_telPhone not in", values, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneBetween(String value1, String value2) {
            addCriterion("doctor_telPhone between", value1, value2, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_telPhoneNotBetween(String value1, String value2) {
            addCriterion("doctor_telPhone not between", value1, value2, "doctor_telPhone");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexIsNull() {
            addCriterion("doctor_sex is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexIsNotNull() {
            addCriterion("doctor_sex is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexEqualTo(Integer value) {
            addCriterion("doctor_sex =", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexNotEqualTo(Integer value) {
            addCriterion("doctor_sex <>", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexGreaterThan(Integer value) {
            addCriterion("doctor_sex >", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_sex >=", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexLessThan(Integer value) {
            addCriterion("doctor_sex <", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_sex <=", value, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexIn(List<Integer> values) {
            addCriterion("doctor_sex in", values, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexNotIn(List<Integer> values) {
            addCriterion("doctor_sex not in", values, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexBetween(Integer value1, Integer value2) {
            addCriterion("doctor_sex between", value1, value2, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_sexNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_sex not between", value1, value2, "doctor_sex");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayIsNull() {
            addCriterion("doctor_birthday is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayIsNotNull() {
            addCriterion("doctor_birthday is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_birthday =", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayNotEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_birthday <>", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayGreaterThan(Date value) {
            addCriterionForJDBCDate("doctor_birthday >", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_birthday >=", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayLessThan(Date value) {
            addCriterionForJDBCDate("doctor_birthday <", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_birthday <=", value, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayIn(List<Date> values) {
            addCriterionForJDBCDate("doctor_birthday in", values, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayNotIn(List<Date> values) {
            addCriterionForJDBCDate("doctor_birthday not in", values, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctor_birthday between", value1, value2, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_birthdayNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctor_birthday not between", value1, value2, "doctor_birthday");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageIsNull() {
            addCriterion("doctor_age is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageIsNotNull() {
            addCriterion("doctor_age is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageEqualTo(Integer value) {
            addCriterion("doctor_age =", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageNotEqualTo(Integer value) {
            addCriterion("doctor_age <>", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageGreaterThan(Integer value) {
            addCriterion("doctor_age >", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_age >=", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageLessThan(Integer value) {
            addCriterion("doctor_age <", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_age <=", value, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageIn(List<Integer> values) {
            addCriterion("doctor_age in", values, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageNotIn(List<Integer> values) {
            addCriterion("doctor_age not in", values, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageBetween(Integer value1, Integer value2) {
            addCriterion("doctor_age between", value1, value2, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_ageNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_age not between", value1, value2, "doctor_age");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailIsNull() {
            addCriterion("doctor_email is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailIsNotNull() {
            addCriterion("doctor_email is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailEqualTo(String value) {
            addCriterion("doctor_email =", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailNotEqualTo(String value) {
            addCriterion("doctor_email <>", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailGreaterThan(String value) {
            addCriterion("doctor_email >", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_email >=", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailLessThan(String value) {
            addCriterion("doctor_email <", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailLessThanOrEqualTo(String value) {
            addCriterion("doctor_email <=", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailLike(String value) {
            addCriterion("doctor_email like", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailNotLike(String value) {
            addCriterion("doctor_email not like", value, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailIn(List<String> values) {
            addCriterion("doctor_email in", values, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailNotIn(List<String> values) {
            addCriterion("doctor_email not in", values, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailBetween(String value1, String value2) {
            addCriterion("doctor_email between", value1, value2, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_emailNotBetween(String value1, String value2) {
            addCriterion("doctor_email not between", value1, value2, "doctor_email");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiIsNull() {
            addCriterion("doctor_keshi is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiIsNotNull() {
            addCriterion("doctor_keshi is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiEqualTo(String value) {
            addCriterion("doctor_keshi =", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiNotEqualTo(String value) {
            addCriterion("doctor_keshi <>", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiGreaterThan(String value) {
            addCriterion("doctor_keshi >", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_keshi >=", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiLessThan(String value) {
            addCriterion("doctor_keshi <", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiLessThanOrEqualTo(String value) {
            addCriterion("doctor_keshi <=", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiLike(String value) {
            addCriterion("doctor_keshi like", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiNotLike(String value) {
            addCriterion("doctor_keshi not like", value, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiIn(List<String> values) {
            addCriterion("doctor_keshi in", values, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiNotIn(List<String> values) {
            addCriterion("doctor_keshi not in", values, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiBetween(String value1, String value2) {
            addCriterion("doctor_keshi between", value1, value2, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_keshiNotBetween(String value1, String value2) {
            addCriterion("doctor_keshi not between", value1, value2, "doctor_keshi");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliIsNull() {
            addCriterion("doctor_xueli is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliIsNotNull() {
            addCriterion("doctor_xueli is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliEqualTo(String value) {
            addCriterion("doctor_xueli =", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliNotEqualTo(String value) {
            addCriterion("doctor_xueli <>", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliGreaterThan(String value) {
            addCriterion("doctor_xueli >", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_xueli >=", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliLessThan(String value) {
            addCriterion("doctor_xueli <", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliLessThanOrEqualTo(String value) {
            addCriterion("doctor_xueli <=", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliLike(String value) {
            addCriterion("doctor_xueli like", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliNotLike(String value) {
            addCriterion("doctor_xueli not like", value, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliIn(List<String> values) {
            addCriterion("doctor_xueli in", values, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliNotIn(List<String> values) {
            addCriterion("doctor_xueli not in", values, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliBetween(String value1, String value2) {
            addCriterion("doctor_xueli between", value1, value2, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_xueliNotBetween(String value1, String value2) {
            addCriterion("doctor_xueli not between", value1, value2, "doctor_xueli");
            return (Criteria) this;
        }

        public Criteria andDoctor_descIsNull() {
            addCriterion("doctor_desc is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_descIsNotNull() {
            addCriterion("doctor_desc is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_descEqualTo(String value) {
            addCriterion("doctor_desc =", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descNotEqualTo(String value) {
            addCriterion("doctor_desc <>", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descGreaterThan(String value) {
            addCriterion("doctor_desc >", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_desc >=", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descLessThan(String value) {
            addCriterion("doctor_desc <", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descLessThanOrEqualTo(String value) {
            addCriterion("doctor_desc <=", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descLike(String value) {
            addCriterion("doctor_desc like", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descNotLike(String value) {
            addCriterion("doctor_desc not like", value, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descIn(List<String> values) {
            addCriterion("doctor_desc in", values, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descNotIn(List<String> values) {
            addCriterion("doctor_desc not in", values, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descBetween(String value1, String value2) {
            addCriterion("doctor_desc between", value1, value2, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_descNotBetween(String value1, String value2) {
            addCriterion("doctor_desc not between", value1, value2, "doctor_desc");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeIsNull() {
            addCriterion("doctor_inTime is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeIsNotNull() {
            addCriterion("doctor_inTime is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_inTime =", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_inTime <>", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("doctor_inTime >", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_inTime >=", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeLessThan(Date value) {
            addCriterionForJDBCDate("doctor_inTime <", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctor_inTime <=", value, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeIn(List<Date> values) {
            addCriterionForJDBCDate("doctor_inTime in", values, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("doctor_inTime not in", values, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctor_inTime between", value1, value2, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_inTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctor_inTime not between", value1, value2, "doctor_inTime");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateIsNull() {
            addCriterion("doctor_state is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateIsNotNull() {
            addCriterion("doctor_state is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateEqualTo(Integer value) {
            addCriterion("doctor_state =", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateNotEqualTo(Integer value) {
            addCriterion("doctor_state <>", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateGreaterThan(Integer value) {
            addCriterion("doctor_state >", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctor_state >=", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateLessThan(Integer value) {
            addCriterion("doctor_state <", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateLessThanOrEqualTo(Integer value) {
            addCriterion("doctor_state <=", value, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateIn(List<Integer> values) {
            addCriterion("doctor_state in", values, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateNotIn(List<Integer> values) {
            addCriterion("doctor_state not in", values, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateBetween(Integer value1, Integer value2) {
            addCriterion("doctor_state between", value1, value2, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_stateNotBetween(Integer value1, Integer value2) {
            addCriterion("doctor_state not between", value1, value2, "doctor_state");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameIsNull() {
            addCriterion("doctor_name is null");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameIsNotNull() {
            addCriterion("doctor_name is not null");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameEqualTo(String value) {
            addCriterion("doctor_name =", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameNotEqualTo(String value) {
            addCriterion("doctor_name <>", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameGreaterThan(String value) {
            addCriterion("doctor_name >", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameGreaterThanOrEqualTo(String value) {
            addCriterion("doctor_name >=", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameLessThan(String value) {
            addCriterion("doctor_name <", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameLessThanOrEqualTo(String value) {
            addCriterion("doctor_name <=", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameLike(String value) {
            addCriterion("doctor_name like", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameNotLike(String value) {
            addCriterion("doctor_name not like", value, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameIn(List<String> values) {
            addCriterion("doctor_name in", values, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameNotIn(List<String> values) {
            addCriterion("doctor_name not in", values, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameBetween(String value1, String value2) {
            addCriterion("doctor_name between", value1, value2, "doctor_name");
            return (Criteria) this;
        }

        public Criteria andDoctor_nameNotBetween(String value1, String value2) {
            addCriterion("doctor_name not between", value1, value2, "doctor_name");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}